// 驾车
interface RouteDriving {
  mode: string // 方案交通方式，固定值：“DRIVING”
  tags?: [] // 方案标签，表明方案特色，tags:[“LEAST_LIGHT”]
  traffic_light_count: number // 方案途经红绿灯个数
  distance: number // 方案总距离，单位：米
  duration: number // 方案估算时间（结合路况），单位：分钟
  restriction?: { // 限行信息
    /*
    限行状态码：
      0 途经没有限行城市，或路线方案未涉及限行区域
      1 途经包含有限行的城市
      3 [设置车牌] 已避让限行
      4 [设置车牌] 无法避开限行区域（本方案包含限行路段）
     */
    status: 0 | 1 | 3 | 4
  }
  polyline: []
  waypoints?: Partial<Waypoint>  // 途经点，顺序与输入waypoints一致 （输入waypoints时才会有此结点返回）
  taxi_fare?: TaxiFare  // 预估打车费
  steps: Step[]  // 路线步骤
}


export interface Waypoint {
  title: string   // 途经点路名
  location: {  // 	途经点坐标
    lat: number   // 纬度
    lng: number   // 经度
  }
  polyline_idx: number // 该途经点在polyline中的索引位置（数组下标位置）
  duration: number // 预估到达耗时，单位：分钟
  distance: number // 起点到该途经点的距离，单位：米
}

export interface Step {
  instruction: string   // 阶段路线描述
  polyline_idx: number[]  // 阶段路线坐标点串在方案路线坐标点串的位置
  road_name?: string  // 	阶段路线路名
  dir_desc?: string  // 	阶段路线方向
  distance: number  // 阶段路线距离，单位：米
  act_desc: string  // 阶段路线末尾动作：如：左转调头
  accessorial_desc: string  // 末尾辅助动作：如：到达终点
}

export interface TaxiFare {
  fare?: number // 预估打车费用，单位：元
}


export default RouteDriving
